code="char abcd @30";#同样是解析代码 python的行数更好 （java的可能定义不太对，后面是@ 表示偏移量而不是[]范围里的 会导致代码变长
def parse(): 
    result={}
    index=-1#type所占索引
    type_end=False
    var_end=False
    offest_start=False
    offest=""
    type=""
    var=""
    main_index=0
    _at_index=0
    #获得@所在的位置
    if "@" in code:
        _at_index=code.index("@")
        print(code.index("@"))
    for i in code:
        if i==" ":
            type_end=True
        if i != " " and type_end==False:
            index+=1
            #print("类型占用的索引",index)
            type+=i
        if i!=" " and main_index>index and main_index<_at_index and not var_end:
            var+=i
        if i=="@":
            var_end=True
            offest_start=True
        if offest_start:
            offest+=i
        main_index+=1
        #print("主索引",main_index)
    result['type']=type
    result['var']=var
    result['offest']=offest.split("@")[1] 
    return result
    